As personal computers have become far more powerful and inexpensive in the last fifteen years, their use has proliferated in households and business. Along with this growth in hardware has come a tremendous growth in software packages available to computer users. Many of programs used on personal computers have significant acquisition costs and it is not unusual for a computer user's software investment to exceed the investment in hardware.
The word processing, data base, and other software packages are expensive because of the large number of skilled programmers required to produce the applications. Additionally, there are significant post sale customer support costs the software providers must provide. Most software packages are distributed as machine-readable information recorded on floppy disks. The programs represented by such software packages are run simply by loading the floppy disks onto a suitable magnetic disk for subsequent use.
In the absence of any "copy protection", anyone who has physical possession of the distribution floppy disks can make several copies of that software package and each copy may be used on a separate computer system. Although making back-up copies of software packages is normally desirable, allowing numerous unauthorized "pirate" copies is very undesirable. Unfortunately software piracy is wide spread and deprives the software suppliers legitimate sales and therefore revenue.
Prior art methods have been developed to try to protect software but they have not meet with acceptance by both the software suppliers and the users. Some of the prior art methods required additional hardware which increased the cost of the product and made the use of the product inconvenient for the user. Other methods required a special floppy disk to be in a disk drive for the software to work. Users, however, disliked having to keep track of the floppy disk.
Of course it is not the act of copying a software package that is troublesome to software suppliers. Rather, it is the use of the copies on various additional computer systems without paying for the right to use those copies. If each computer system is provided with a "unique" identification number, an ideal technique for avoiding the proliferation of unauthorized copies of software packages could be achieved simply by preventing that software from being executed, manipulated or copied until the unique identification number is recorded in the software itself. Subsequent execution of the software package would be enabled only if the recorded identification number matches the unique identification number of the computer system in which the software was invoked. Unfortunately not all computer systems are provided with explicit identification numbers.
What is needed in the industry is a method for distributing software to users that allows the users to conveniently install and use the software while, at the same time, protecting the interests of the software suppliers by preventing the use of the software on an unauthorized computer.